using System.Collections.Generic;
using System.Runtime.Serialization;

namespace Elderos.AI
{
    [DataContract]
    public abstract class Factor
    {
        protected Factor(string name)
        {
            Name = name;
        }
        [DataMember]
        public string Name { get; private set; }

        private List<string> _columnNames;
        public List<string> ColumnNames
        {
            get { return _columnNames; }
            protected set { _columnNames = value; }
        }

        public abstract double[] GetSubvector(double logicalValue);
    }
}